iT邦幫忙

2026 iThome 鐵人賽

DAY 30
3
Security

《朝 HTB CPTS 前進:資安新手的 30 天實作筆記》系列 第 30 篇

Day 30 — 走完 30 天,我離 CPTS 還有多遠?

  • 分享至 

  • xImage
  •  

第三十天了!!!好難想像!!!

當初排完 30 天計畫,真的覺得困難重重。每天都要發文,CPTS 又是技術證照,幾乎每天都有靶機要練習——AD 完全沒碰過,Pivoting 第一眼看到根本不知道那是什麼東西 xddd 超級怕斷更><

經過了 30 天,我會說今年最不後悔的決定,就是寫鐵人賽!

這 30 天能力真的進步很多!雖然離上場應考 CPTS 還有一大段路,但回頭看這三十天,驚然發現自己面對靶機時不再像一開始那麼害怕了!

藉由這 30 天鐵人賽,強迫自己每天 Input、每天 Output,真的成長了很多。

這段時間也讓我慢慢建立起滲透測試的思考框架,整理出幾份自己的 SOP。

現在看到一台機器,至少不會再像一開始那樣一片空白——知道該先偵察什麼、找到突破口之後該往哪裡走,卡關時也比較知道該回頭檢查哪些線索。

當然,這不代表我已經熟悉所有技術,也不代表每台機器都能獨立打完。

但至少,我不再只是看到指令就複製貼上,而是開始試著理解每個步驟背後的目的,並把操作、判斷和結果記錄下來。

這次當了勇敢 Kitty,也當了成功 Kitty,成功走完了 30 天 🐱
https://ithelp.ithome.com.tw/upload/images/20261014/20184189bZpLMDQJIM.jpg

鐵人賽結束不等於學習結束~今天我們就來一起盤點:經過這 30 天,我們在 CPTS 的道路上走到哪裡了?還差什麼?接下來又該怎麼安排學習計畫?


回顧一下我們的 30 天

Day 主題 重點
Day 1 為什麼選 CPTS、這 30 天怎麼走 學習動機與 30 天學習計畫規劃
Day 2 滲透測試的流程到底長什麼樣 滲透測試八階段概覽
Day 3 拿到一個 IP,我的第一步是什麼 Nmap 偵察流程與 SOP 建立
Day 4 掃到服務之後,我怎麼決定先挖哪個 服務列舉與潛在漏洞識別
Day 5 從版本號到 Shell:第一次用 Metasploit 拿下目標 服務版本分析、漏洞驗證與 Metasploit 實戰
Day 6 從打靶到 Report:第一次用 SysReptor 寫滲透測試報告 SysReptor 操作與 Finding 撰寫
Day 7 只開 80 Port,然後呢? Web 目錄列舉
Day 8 拿到 Webshell 之後,我該做什麼? Webshell 操作、初始存取後的資訊收集與環境探索
Day 9 Webshell 不夠用?來試試 Reverse Shell! Reverse Shell 原理與實作
Day 10 誰在偷偷執行我的 test.py?從 scriptmanager 到 root 利用低權限使用者可寫入,由高權限使用者執行的排程腳本進行提權
Day 11 Bashed 的完整技術發現:多個問題怎麼串成攻擊鏈 攻擊鏈分析與滲透測試報告撰寫
Day 12 SQL Injection:一個單引號,就能撬開整個資料庫 SQL Injection 原理、手動測試與 Burp Suite 初體驗
Day 13 Command Injection:一個查庫存的按鈕,竟然能讓伺服器執行指令 OS Command Injection 的辨識與利用
Day 14 兩週回顧 & SQL Injection 補強:搞懂 INFORMATION_SCHEMA 利用 INFORMATION_SCHEMA 探索資料庫結構與欄位資訊
Day 15 Active Directory:從零開始,這個陌生的世界長什麼樣? AD 基礎架構:Domain、DC、OU 與 Forest
Day 16 使用者、群組、服務帳號:誰有什麼權限? AD 帳號、群組關係與權限分析
Day 17 Kerberos 認證:TGT 跟 Service Ticket 到底差在哪 理解 Kerberos 認證流程,以及 TGT 與 Service Ticket 的用途和差異
Day 18 AD 常見攻擊手法:需要什麼條件、利用什麼機制、能拿到什麼 AD 常見攻擊的利用條件、原理與可能影響
Day 19 BloodHound:原來 svc-alfresco 可以走到這裡! 利用 BloodHound 視覺化分析 AD 權限關係與攻擊路徑
Day 20 DNS 服務開著,代表什麼?Zone Transfer 實戰 檢查 DNS Zone Transfer 設定,分析取得的 DNS 紀錄,探索相關網域與主機資訊
Day 21 從子網域找到 Web 漏洞,一路拿到 Reverse Shell! 從子網域列舉、Web 漏洞利用到取得 Reverse Shell
Day 22 Cron Job 提權:怎麼找到它、怎麼判斷能不能用 Cron Job 列舉與提權條件判斷
Day 23 Cronos 的技術發現:找到問題之後,報告要怎麼寫? 攻擊鏈分析與 Finding 的成因、影響及修補建議
Day 24 Jerry:8080 開了一扇門,進去竟然直接變 SYSTEM?! Tomcat Manager 弱密碼、WAR 部署與取得 SYSTEM 權限
Day 25 Jerry:一進去就是 SYSTEM:為什麼服務帳號的權限這麼重要? 服務帳號權限設定與最小權限原則
Day 26 不用提權就拿到 SYSTEM?Jerry 的兩個 Finding 告訴我們什麼! 弱密碼與服務帳號權限設定不當的 CVSS 分析、攻擊鏈串接與滲透測試報告撰寫
Day 27 不再只是複製貼上!用 Docker 搞懂 SSH 的 -L、-D、-R SSH Local、Dynamic、Remote Port Forwarding 原理與 Docker 實驗
Day 28 隧道打通之後呢?用 Proxychains 探測內網、尋找隱藏憑證 透過 SOCKS Proxy 與 Proxychains 進行內網主機探索
Day 29 限時綜合練習:檢查自己的流程有沒有漏洞 限時獨立實戰、流程檢查與盲點檢討
Day 30 走完 30 天,我離 CPTS 還有多遠? 能力盤點、待補強項目與後續學習計畫

30 天資安學習:從實作到 SOP 整理

這 30 天除了打靶、學新東西,還有一件事我覺得很重要!

就是慢慢把實作過程中用到的方法整理起來,讓自己下次遇到類似情境時,不用每次都從零開始想 QQ

目前整理了一些 SOP、操作流程與技術筆記。有些已經有比較明確的操作步驟,有些還在持續補充中。

趁著這次回顧,就一起來看看這 30 天,我們累積了哪些實作經驗,又把哪些方法整理成自己的 SOP

一、主機偵察與服務探索

  1. 主機偵察 SOP
  • 使用 Nmap 掃描目標。
  • 辨識open port 與對應服務。
  • 根據掃描結果,判斷接下來要優先調查什麼。
  1. Web 服務偵察與測試流程
  • 探索網站內容與目錄爆破。
  • 尋找可能的輸入點。
  • 分析 HTTP Request / Response,理解前後端的互動方式。
  1. Tomcat 操作流程
  • 探索 Tomcat 管理介面。
  • 確認登入權限與管理功能。
  • 理解 WAR 部署機制,以及服務權限設定可能帶來的安全風險。
  1. DNS Zone Transfer 檢查流程
  • 檢查 DNS 是否允許Zone Transfer。
  • 分析取得的 DNS Zone Records,整理相關網域與主機資訊,作為後續偵察的線索。
  • 整理發現的網域與主機資訊,作為後續偵察的線索。

二、漏洞測試與初始存取

  1. SQL Injection 測試流程
  • 測試輸入點。
  • 驗證是否存在 SQL Injection。
  • 在授權環境中進一步探索資料庫結構與欄位資訊。
  1. Command Injection 測試流程
  • 確認使用者輸入是否可能被拼接進系統指令。
  • 分析漏洞可能造成的影響與修補方向。
  1. Webshell / Reverse Shell 操作筆記
  • 理解 Webshell 與 Reverse Shell 的差異。
  • 在授權的靶機中確認 Shell 是否能正常互動。

三、Shell 資訊收集與 Linux 權限分析

  1. Shell 資訊收集流程
  • 確認目前使用者與權限。
  • 收集系統資訊、目前工作目錄與環境線索。
  • 根據蒐集到的資訊,判斷接下來應該調查哪些方向。
  1. Linux 提權檢查 SOP
  • 檢查 sudo 權限與 SUID 程式。
  • 檢查 Cron Job、可寫腳本與檔案權限。
  • 分析是否存在錯誤的權限配置,以及可能造成的安全風險。
  1. Cron Job 提權分析流程
  • 檢查排程的執行時間與執行身分。
  • 確認排程執行的腳本及相關檔案是否能被低權限使用者修改。
  • 分析錯誤的權限配置如何造成提權風險,並思考如何修補。

Cron Job 提權分析流程,是 Linux 提權檢查 SOP 中針對排程機制的深入探討!

四、Active Directory 與內網探索

  1. AD 資訊收集與權限分析流程
  • 整理網域中的使用者、群組與服務帳號。
  • 理解 Domain、Domain Controller 等基本架構。
  • 透過 BloodHound 視覺化分析權限關係與可能的攻擊路徑。
  1. SSH Tunneling 操作流程
  • 理解 SSH 三種 Port Forwarding(Local、Dynamic、Remote)的運作原理與流量轉送方式。
  • 透過 Docker 建立實驗環境,驗證不同轉送方式的運作結果。
  1. Proxychains 內網探索流程
  • 理解 SOCKS Proxy 與 Proxychains 的運作方式。
  • 在授權的內網實驗環境中探索主機與服務,並整理過程中發現的線索。

除了這些操作流程,也接觸了 Kerberos、AD 常見攻擊手法等主題,建立把不同線索串聯起來的能力。

當然,整理出流程不代表每一項都已經熟練了,有些還需要透過更多靶機反覆練習。

而且,不同流程之間也會互相關聯才能串成一條完整的攻擊鏈。

像是取得 Shell 之後,可能會先收集系統資訊,再檢查有沒有提權機會;而在 AD 環境中,也需要把使用者、群組、權限與主機之間的關係串起來,才能判斷下一步可以往哪裡走。

對現在的我來說,這些筆記不只是記錄指令,而是慢慢練習把每一步的目的、驗證方式,以及接下來的判斷整理清楚。

希望下次再遇到類似情境時,不只是記得要用什麼工具,而是能更快判斷:

我現在要確認什麼?為什麼要做這一步?接下來又該怎麼走?


走完 30 天,我離 CPTS 還有多遠?

這 30 天寫了不少東西,從 Nmap、Web 漏洞,到 Linux/Windows 權限提升、AD、Pivoting,還有幾份完整的滲透測試報告。

但如果問我:「這樣就準備好考 CPTS 了嗎?」

答案當然是還沒有 xddd

有寫過文章,不代表已經熟練;有成功打進靶機,也不代表能在陌生環境中獨立完成同樣的任務。

這 30 天比較大的收穫,是開始建立自己的滲透測試流程,也透過實作和報告,慢慢理解從資訊蒐集、尋找漏洞、取得初始存取權限,到進一步提權的過程。

但如果對照 CPTS 的完整學習路徑,還有不少模組沒有完成,部分技術也只停留在初步理解。

目前最需要補強的,是以下幾個方向:

  1. Active Directory: 從理解基本概念,到能獨立列舉資訊、分析權限關係並判斷攻擊路徑。
  2. Pivoting: 從理解 SSH Tunnel 的基本原理,到能在不同網路情境下實際操作。
  3. Web 漏洞: 目前主要實作 SQL Injection 和 Command Injection,其他漏洞類型還需要補課。
  4. 權限提升: Linux 和 Windows 都還需要更多練習,培養看到環境線索就能想到驗證方向的能力。
  5. 報告寫作與英文: 練習 Finding 判斷、風險評估、攻擊鏈描述,以及英文報告撰寫。

至於具體要怎麼補、什麼時候考,就來看看接下來的計畫吧!


補課計畫與時程

目標:預計2027 年 4 月前通過 CPTS!

CPTS 的準備不只是看完教材,還需要完成相應的 Skills Assessment,並確認自己真的具備獨立操作的能力。

這 30 天雖然碰了不少主題,但真正完成的 Skills Assessment 還不多,所以接下來的首要任務是把模組全部跑完,而不是直接衝考試。

鐵人賽結束之後,預計平日每天 1–2 小時、假日 3–4 小時—每週大概用 13–18 小時持續往 CPTS 邁進!

Phase 1(2026/10/15 – 2027/1/22):完成規劃的 27 個模組及對應 Skills Assessment

這是最重要也最花時間的階段。不只是看過,而是每個模組的 Skills Assessment 都要做完。

週次 模組 重點
第 1–2 週(10/15–10/27) Penetration Testing Process、Using Web Proxies、Command Injections、SQL Injection Fundamentals 收尾已開始的模組,完成對應的 Skills Assessment
第 3 週(10/28–11/3) File Transfers、Shells & Payloads、Using the Metasploit Framework 優先完成 File Transfers,練習檔案傳輸與 Shell 操作
第 4 週(11/4–11/10) File Inclusion、File Upload Attacks、Login Brute Forcing 練習常見 Web 漏洞,完成 File Inclusion、File Upload 與登入測試
第 5-6 週(11/11–11/24) Web Attacks、Cross-Site Scripting (XSS)、SQLMap Essentials 補強 Web 攻擊技巧,練習 XSS、SQLMap 等技術
第 7 週(11/25–12/1) Information Gathering - Web Edition、Footprinting、Attacking Web Applications with Ffuf 補強資訊蒐集與 Web 目錄列舉,建立完整的偵察能力
第 8-9 週(12/2–12/15) Password Attacks、Attacking Common Services、 Attacking Common Applications 練習密碼攻擊與常見服務攻擊測試,熟悉不同服務的測試方向
第 10-11 週(12/16–12/29) Linux Privilege Escalation、Windows Privilege Escalation 補強Linux、Windows 提權,練習從環境線索判斷提權方向
第 12-13 週(2026/12/30–2027/1/12) Active Directory Enumeration & Attacks 補強 AD 資訊蒐集、權限分析與攻擊路徑判斷及實作能力
第 14 週(2027/1/13–2027/1/19) Pivoting, Tunneling, and Port Forwarding、Vulnerability Assessment 完成Pivoting, Tunneling, and Port Forwarding、Vulnerability Assessment模組學習與 Skills Assessment,整理不熟悉的技術
第 15 週(2027/1/20–2027/1/22) Network Enumeration with Nmap、Getting Started、Documentation & Reporting 完成 Network Enumeration with Nmap、Getting Started 與 Documentation & Reporting 等剩餘模組,補齊相關實作評量,統整 SOP 與技術筆記,並檢視整體學習進度及待補強項目

Phase 2(2027/1/23 起):綜合實戰 + 考試準備

  • Attacking Enterprise Networks 先盲做——記錄每個卡關點,找出真正的弱點。
  • 整理真實考試用的筆記架構。
  • 養成「打完一段就寫進報告」的習慣——考試 10 天,最後才寫報告會很痛苦。

Phase 3(2027/2 月中):第一次正式考試

第一次正式考試主要是熟悉流程和節奏,也藉此檢查自己在時間壓力下的實際表現。

第一次不一定能過,但能知道自己真正的弱點在哪裡,比一直重複練習熟悉的題目更有幫助。

Phase 4(2027/3–4 月):針對弱點補課 + 第二次考試

根據先前考試的結果,補強最弱的地方,再視準備狀況安排第二次考試(希望是第一次正式考試就過),最晚也能在自己設定的期限 2027 年 4 月前通過 CPTS。


這 30 天發現的盲點

看到重複出現的資訊,沒有馬上想到「這可能是密碼」

Day 29 卡關的時候最有感。

偵察的時候,機器名稱、網頁標題、設定檔裡的關鍵字,如果同樣的字串在多個地方出現,那個字串可能是密碼、使用者名稱的一部分,或其他值得追查的線索。

但我的第一反應通常是:「這是個名稱,繼續找其他東西。」

而不是:「這個字串出現這麼多次,我要不要把它列入密碼候選清單?」

然後又跑去嘗試常見的弱密碼,花費不少時間——但有些值得追查的線索,根本就已經藏在偵查的線索裡。

不是說每個重複出現的字串都一定是密碼,但我以前很容易把找到的資訊當成單純的資訊,沒有繼續思考它們之間可能存在什麼關係。

勉勵自己><應該要建立的習慣:

  • 看到有意義的字串(機器名、使用者名、服務名、頁面標題)→ 評估是否納入密碼候選清單
  • 優先利用環境裡找到的線索,建立合理的測試假設,再決定要怎麼驗證
  • 在授權的測試環境中,根據蒐集到的線索,評估哪些帳號與密碼組合值得測試
  • 不要找到一個字串,就直接認定它是密碼;要結合帳號、服務與其他證據判斷

Day 29 讓我更深刻發現,偵察不是把資訊收集完就結束,而是要進一步思考:

這些資訊對接下來的判斷有什麼幫助?


鐵人賽回顧~~~

回頭看一下當初寫在系列開頭的初心:

這是一個資安新手朝 HTB CPTS 前進的 30 天實作紀錄。

這系列不只是記錄「我用了什麼指令」,而是希望把每一次掃描、判斷、驗證與卡關都留下來,慢慢建立自己的滲透測試思考模式。

經過這 30 天不代表就能直接考過 CPTS,而是給自己一個開始學習、動手實作、整理筆記,也找出自己還有哪些地方需要補強的習慣。

這三件事,我覺得在這 30 天裡我們做到了!

不只是記錄指令——靶機、報告、SOP、卡關過程,都寫進來了。

思考模式有沒有建立?我覺得有,至少看到一台機器不再是一片空白。

找出補強的地方?這篇就是!

三十天之前,我對 CPTS 這條路只有一個模糊的輪廓。

三十天之後,我終於知道自己還有哪些地方需要補強了——AD 的攻擊原理與實作還需要更深入的練習、Web 漏洞接觸的類型還不夠廣、Pivoting 還需要更多實戰練習、報告的撰寫邏輯還需要持續磨練,技術英文也要刻意加強。

知道缺口在哪裡,就能有效率的對症下藥!

Day 2 我寫到:

「真正重要的不是我掃了多少東西,而是這些資訊對我接下來的判斷有什麼幫助。」

現在回頭看,這仍然是我最想提醒自己的事:不要只顧著操作工具,更要理解結果背後的意義,以及接下來該怎麼走。

這次鐵人賽,最最最感謝的是 飛飛大大。

當初在猶豫要不要寫,怕會斷更、怕內容難產,怕的很多 ><

是飛飛跟我說「寫!」,而且還組了鐵人團隊——飛飛的資安大圈圈鐵人團!

透過團隊的力量,讓我們不孤單,一起前進。

一個人可以走得很快,但一群人可以走得很遠。

謝謝飛飛在我們遇到問題時,總是不吝嗇地給予很大的幫助與鼓勵!謝謝鐵人戰隊讓我走到今天,也謝謝所有親辜們在鐵人賽中的支持!

這 30 天幾乎每天都會遇到卡關,不斷懷疑自己到底能不能繼續寫下去 xddd

但有團隊的力量,有夥伴一起討論,有親辜的支持,就覺得好像還可以再努力一下!

不知不覺就撐過 30 天哩!

真的很謝謝大家,讓這 30 天的我不孤單!

鐵人賽結束了,CPTS 的路還很長,但至少現在,我知道下一步該怎麼走了!

謝謝大家這 30 天對 《朝 HTB CPTS 前進:資安新手的 30 天實作筆記》 系列的支持!❤️

接下來也會繼續努力,把還不熟悉的技術一個一個補起來,朝通過 CPTS 的目標前進!

謝謝大家~我們明年見啦! 🎉🐱


上一篇
Day 29 — 限時綜合練習:檢查自己的流程有沒有漏洞
系列文
《朝 HTB CPTS 前進:資安新手的 30 天實作筆記》 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1

恭喜完賽
也祝福在明年順利拿下認證

我要留言

立即登入留言